//
//  MainTabBar.swift
//  Weibo
//
//  Created by apple on 15/6/24.
//  Copyright © 2015年 apple. All rights reserved.
//

import UIKit

class MainTabBar: UITabBar {

    // 按钮总数  哈哈哈
    private let buttonCount = 5
    
    // layoutSubviews 中间写太耗时的代码
    // 当系统布局方法不能满足需求，在此方法中调整布局
    override func layoutSubviews() {
        super.layoutSubviews()
        
        let w = bounds.width / CGFloat(buttonCount)
        let rect = CGRectMake(0, 0, w, bounds.height)
        
        // UITabBarButton 是私有接口，在开发中不要使用
        // 遍历所有子视图
        var index = 0;
        for v in subviews {
            // 判断控件，同时排除 uibutton
            if v is UIControl && !(v is UIButton) {
                v.frame = CGRectOffset(rect, CGFloat(index) * w, 0)
                
                index += index == 1 ? 2 : 1
            }
        }
        
        // 设置加号按钮位置
        compoesButton.frame = CGRectOffset(rect, 2 * w, 0)
    }
    
    lazy var compoesButton: UIButton = {
        
        let btn = UIButton()
        
        btn.setImage(UIImage(named: "tabbar_compose_icon_add"), forState: UIControlState.Normal)
        btn.setImage(UIImage(named: "tabbar_compose_icon_add_highlighted"), forState: UIControlState.Highlighted)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button"), forState: UIControlState.Normal)
        btn.setBackgroundImage(UIImage(named: "tabbar_compose_button_highlighted"), forState: UIControlState.Highlighted)
        
        // self. 闭包，提前准备好的代码，在需要的时候执行
        self.addSubview(btn)
        
        return btn
        }()


}
